package com.cn.wanxi.servlet;

import com.cn.wanxi.model.ProductModel;
import com.cn.wanxi.service.ProductService;
import com.cn.wanxi.util.TopFootSetData;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 如果我们要用servlet  框架  必须导入servlet的jar包，tomcat默认支持servlet
 * <p>
 * 对于后台的写的路径
 * 对象和model，dao，service一对一关系
 * servlet 和页面相关，一对一关系
 * service   服务逻辑层  和model相关
 * dao层
 */
@WebServlet("/home")
public class HomeServlet extends HttpServlet {
    //    private static  String aa="aa";
//    private static  String [] bb=new String[5];
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

//        返回jsp页面
//        1.页面转发 ,可以转发数据 2.重定向，只是单纯的跳转页面
//        servlet 的作用域
        /**
         * 1.page  只存在于当前页面
         * 2.request  只存在于转发页面 请求页面
         * 3.session   会话期   session不能跨浏览器  ，放安全性比较高，然后数据一直存在
         * 4.application  应用程序  可以跨浏览器
         *
         * Java 特点  低耦合 高内聚
         * companyModel的具体数据应该从服务逻辑层里面来
         */
//        CompanyModel companyModel=new CompanyModel();
//        CompanyService companyService = new CompanyService();
//        CompanyModel companyModel = companyService.getCompanyModelForHomePage();
//        companyModel.setPhone("fasdfasd");
//        companyModel.setLogo("../img/logo_g0yv.jpg");
//        req.setAttribute("companyModel", companyModel);
//        req.setAttribute("logo","/img/aa.jpg");
//        req.setAttribute("phone","028-999999");//key，value
//        对于导航来说，我们不是只传递一个对象，而是传递无数个对象,可以将无数个对象进行打包
//        如果将无数个对象反正统一的容器里面，数组，用集合
//        数组  就是里面所有的元素类型相同
//        数组的定义方式？有两种，静态定义，动态定义
//        String [] name=new String[5];//定义了一个长度为5的数组，默认值 null
//        String [] phone={"029-99999","0280-94884884"};//静态定义
//        对于数组要取得里面的值需要进行遍历，当然如果赋值，也是需要遍历

//        NavModel[] navModels=new NavModel[5];
//        NavService navService = new NavService();
//        NavModel[] navModels = navService.getNavModels();
//        req.setAttribute("navModels", navModels);
        TopFootSetData.topFootData(req);
        ProductService productService = new ProductService();
        ProductModel[] productModels = productService.getProductModelsForHomePage();
        req.setAttribute("productModels", productModels);
        req.getRequestDispatcher("/jsp/home.jsp").forward(req, resp);
//        req.getRequestDispacther("/test.jsp").forword(req,resp);
//        response.sendRedirect("test.jsp");
    }
}
